Method and system for automated comparison of items

ABSTRACT

An automated method and system for providing an item comparison includes identifying a first item and a set of one or more other items for comparison with the first item, prioritizing attributes of the first item and the other items, and providing the item comparison with prioritized attributes to a user. Identifying comparable items may involve a multiple step process in which a candidate set of items is first selected for possible comparison with the first item, and thereafter selecting one or more items from the candidate set for comparison. Prioritizing the attributes of the items may include measuring like attributes of the items against each other and arranging the attributes to appear in an order according to the degree the like attributes distinguish the items from each other. A modified item comparison may be prepared and provided in accordance with user feedback.

FIELD OF THE INVENTION

The present invention relates to computer-implemented methods andsystems for providing item comparisons to users.

BACKGROUND OF THE INVENTION

With the expanding use of computer networks, such as the Internet, anincreasing amount of commerce is conducted electronically. Onlinemerchants, manufacturers, and others have made virtually every type ofproduct and service available to consumers via computer networks.Conducting commerce via computer networks is particularly useful becauseconsumers can more easily obtain information regarding items to assistthem in their purchasing decisions.

Nevertheless, at the present time, consumers still face many challengeswhen they wish to identify, review, and compare competing items as theymake their purchasing decisions. In many circumstances, consumers arerequired to identify and visit multiple information sources, such as Websites, to obtain information on different items, and further print outinformation for each of the items, to be able to compare the items. Aneffective comparison of items is sometimes extremely difficult,particularly when consumers do not know beforehand the identity ofcompeting items to compare. Even if competing items are all available ata single merchant Web site, for example, the competing items may not bedisplayed on the same page, or if they are, an effective side-by-sidecomparison of the items is not provided.

Online merchants, manufacturers, and others using prior art technologieshave attempted to provide consumers with side-by-side comparisons ofitems by asking consumers to specify (i.e., by checking a checkbox,etc.) items to compare, and then providing a Web page to the consumerdisplaying the items together on the same page. To facilitate thecomparison, the consumer is typically presented with a table in whicheach column of the table is dedicated to an item and each row of thetable identifies an attribute shared by the items. Under each itemcolumn in the table, information is provided to the consumer regardingthe attributes of the items.

When providing an item comparison of this type, online merchants,manufacturers, and others will have previously identified and arrangedthe attributes as they wish them to be displayed to the consumer.Depending on the party doing the arranging, certain attributes may beemphasized in that party's self-interest without particularconsideration to the attributes that truly distinguish the items orattributes that are more important to the consumer. Some comparisontables provide pages and pages of attributes that are difficult forconsumers to wade through to identify pertinent distinctions between thecompared items. Furthermore, as previously noted, for a consumer toobtain an item comparison, the consumer is required to already knowwhich items are comparable and susceptible to comparison, and thendesignate those items for the comparison. In yet other circumstances, aconsumer may be given a prearranged comparison table that has beengenerated and stored by a selling party, but such tables are static andpossibly biased in that the tables include only those items previouslyselected by the selling party for the comparison.

What is needed is a system and method that can automatically generateitem comparisons that are relevant to the consumer receiving the itemcomparison, and further present the compared items with distinguishingattributes prioritized for the benefit of the consumer. The presentinvention is directed to systems and methods that address the problemsnoted above and other shortcomings in the prior art.

SUMMARY OF THE INVENTION

Embodiments of the present invention are directed to methods and systemsthat provide comparisons of items to users. According to one exemplarymethod of the invention, a computing system prepares the item comparisonby identifying a first item for the comparison and then identifying aset of one or more other items to compare with the first item. Processesfor identifying the items in the comparison set of items are performedautomatically or semi-automatically, typically without requiring useridentification of the comparable items.

In some embodiments, the first item for the item comparison isidentified by the user when requesting the item comparison. In otherembodiments, the first item is identified by the computing system,possibly from a type of item indicated by user activity when requestingthe item comparison. A user (or the computing system) may optionallydesignate the first item as an anchor item that remains in the itemcomparison until another anchor item is designated.

Any of a variety of algorithms may be used to identify the items in theset of items that are compared to the first item. In one embodiment, thecomparison set of items is identified based on data reflecting prioruser activity in regard to the items at issue. Prior user activity mayinclude, for example, a browse history comprising a record of one ormore other items viewed or considered by one or more users who alsoviewed the first item. In other circumstances, the prior user activitymay include a purchase history comprising a record of one or more otheritems purchased by one or more users who previously viewed the firstitem. Alternatively, the prior user activity may include a purchasehistory comprising a record of one or more other items viewed by one ormore users who previously purchased the first item. In yet othercircumstances, the prior user activity may be analyzed and limited touser activity in regard to items that belong to a same item category asthe first item.

In other embodiments, the set of items that are compared to the firstitem may be identified by analyzing attributes associated with the firstitem and selecting one or more other items that share like attributeswith the first item.

Yet other embodiments may identify the comparison set of items bysearching pages having recognized text therein for reference to thefirst item, after which identifying other items referenced in relationto the first item. The pages may be comprised of images of printed pageson which a character recognition process has been applied (if needed) torecognize and store the text in the page images. Still anotherembodiment for identifying the items in the comparison set includessearching pages available at multiple sites on a computer network, suchas the Internet, for pages that reference the first item, and thenidentifying other items referenced in relation to the first item.

If desired, a process for identifying the one or more items in thecomparison set may involve a multiple step method in which a candidateset of items is selected for possible comparison with the first item,after which one or more items are selected from the candidate set foractual comparison with the first item. The items in the candidate set ofitems may be selected based on measurements of like attributes of theitems at issue and selecting those items having attributes thatcollectively are more similar to the attributes of the first item.Thereafter, one or more items from the candidate set of items may beselected for actual comparison with the first item based on attributesthat collectively are most similar to the first item. In somecircumstances attributes may be weighted such that the attributes havinga greater weight will have greater influence for item selection thanattributes having lesser weight.

In another aspect, embodiments of the present invention may includeprioritizing the attributes of the first item and the other items in thecomparison set, typically for later display to a user. Prioritizing theattributes of the items may include measuring like attributes of theitems in the item comparison against each other and arranging theattributes to appear in an order according to the degree the likeattributes distinguish the items from each other. If desired, theattributes may be weighted such that attributes having greater weightwill have greater influence on the ordering of the attributes thanattributes having lesser weight.

Once the item comparison is provided to the user, feedback regarding theitem comparison may be received from the user. In response thereto, someembodiments of the invention provide a modified item comparison to theuser in accordance with the user's feedback. For example, a user'sfeedback may designate another item to be the first item with whichother items are compared. One method of the invention may comprisepreparing and providing a modified item comparison based on thenewly-designated first item.

In another example, a user's feedback may indicate an attribute ofinterest to the user. A user may indicate an attribute of interest byclicking on or hovering a mouse pointer over the attribute in the itemcomparison. A method according to the invention may comprise preparingand providing a modified item comparison in which the items that arecompared to the first item include those items that are most similar tothe first item with respect to the attribute of interest. Yet anothermethod according to the invention responds to user feedback indicatingan attribute of interest by rearranging the attributes in the itemcomparison in an order where the attribute of interest is shown higherin the order than other attributes. A blended approach may also beapplied in which attributes of items are prioritized for display in anitem comparison based on a combination of attributes that betterdistinguish the items from each other and attributes determined to be ofgreater user interest.

Other embodiments of methods and systems according to the inventionrecognized by persons having ordinary skill in the art based on thedisclosure herein are considered part of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages of thisinvention will become more readily appreciated as the same become betterunderstood by reference to the following detailed description, whentaken in conjunction with the accompanying drawings, wherein:

FIG. 1 is a flow diagram illustrating one exemplary embodiment of amethod for automated comparison of items conducted in accordance withthe present invention;

FIG. 2 is a pictorial diagram of one exemplary computing environment inwhich a method of the present invention, such as the method of FIG. 1,may be implemented;

FIG. 3 is another pictorial diagram providing further details in blockform regarding the environment illustrated in FIG. 2;

FIG. 4 illustrates an exemplary Web page showing a list of items, eachhaving a control that enables a user to launch an automated comparisonof items that are selected, arranged, and presented in real time;

FIG. 5 illustrates an exemplary Web page depicting an item comparisonthat may be generated and displayed in accordance with principles of thepresent invention;

FIG. 6 is a flow diagram illustrating another exemplary embodiment of amethod for automated comparison of items conducted in accordance withthe present invention; and

FIG. 7 is block diagram of an interface that may be provided inaccordance with the present invention.

DETAILED DESCRIPTION

The present invention is directed to computer-implemented methods andsystems that provide automated comparisons of items, typically generatedin real time when a request for an item comparison is received from auser. Although specific embodiments will now be described with referenceto the drawings, these embodiments are intended to illustrate, and notlimit, the present invention. For example, although the specificembodiments described herein involve the generation and display of datashowing a comparison of digital cameras, embodiments of the inventionmay be applied to virtually any other type of items (which may include,for purposes of illustration and without limitation of any kind,products, goods, apparatus, devices, services, service plans, benefitplans, and/or any other entities having comparable attributes, includingweb sites, businesses, securities, companies, people, etc.). Moreover,method steps described herein may be interchanged with other steps, orcombination of steps, and still achieve the advantages of the presentinvention. Accordingly, the scope of the invention should not bedetermined from the following description but instead from the claimsthat follow.

FIG. 1 is a flow diagram of one exemplary method 100 that provides anautomated item comparison in accordance with the present invention.Briefly summarized, the method 100 begins by receiving a request for anitem comparison, as indicated at block 102. At block 104, the method 100identifies a first item for the item comparison. With the first item inmind, the method 100 continues at block 106 to identify a set of one ormore other items for comparison with the first item. Once the first itemand the comparison set of other items are identified, the method 100prioritizes the attributes shared by the first item and the items in thecomparison set, as indicated at block 108. At block 110, the method 100provides the item comparison with the prioritized attributes to theuser. Optionally, the method 100 may subsequently receive feedback fromthe user regarding the item comparison, as indicated at block 112. Alongwith further details regarding each aspect of the method 100, describedherein are exemplary screen shots of Web pages (FIGS. 4 and 5) that maybe generated when providing an item comparison to a user. Also describedherein is a depiction of one exemplary computing environment (FIGS. 2and 3) in which methods and systems of the present invention may beimplemented.

Returning to block 102 in FIG. 1, a request for an item comparison maycome from a user by explicit or implicit user action, or it may comefrom a computing system that determines it would be helpful to providean item comparison to the user. The computing system may, for example,observe a user's activity with respect to browsing of items on thecomputing system to determine when an item comparison would be helpful.

For example, FIG. 4 illustrates an exemplary Web browser 160 having adisplay space for depicting a Web page 162. The Web page 162, in thisexample, features a list of items 164 that, in this case, are digitalcameras. Each of the digital cameras 164 is shown associated with acontrol 168, 170, 172, and 174 which, in this example, are buttonslabeled “Compare.” A user may request an item comparison by actuatingany one of the Compare buttons 168, 170, 172, or 174.

When a request for an item comparison has been received, the method 100proceeds from block 102 to identify a first item for the itemcomparison, as indicated at block 104 in FIG. 1. In some embodiments,the first item may be identified by the user in the request for the itemcomparison. For example, in reference to FIG. 4, a user may actuate theCompare button 172 that is associated with an item titled “PowerPicCamera 3000.” In such a circumstance, the method 100 may designate the“PowerPic Camera 3000” as the first item for purposes of preparing anitem comparison.

In other embodiments of the method 100, the first item may beautomatically identified by the computing system, possibly in referenceto a type of item (e.g., digital cameras) that the user may be browsingor considering when requesting the item comparison. For example, theuser may be browsing software titles, such as antivirus software,offered by an online merchant. The online merchant may include a“Compare” button (e.g., similar to the Compare buttons 168, 170, 172,and 174, shown in FIG. 4) on a portion of the merchant's Web sitefeaturing antivirus software. User activation of a “Compare” button onthe antivirus software Web page indicates to the computer system thatthe user desires to receive an item comparison for antivirus software.Based on the type of item indicated by the user (here, antivirussoftware), the method 100 may select one of the antivirus softwaretitles to be the first item for purposes of preparing the itemcomparison. Any one of a number of methods may be used to select an itemfor designation as the first item, e.g., by random, by highest salesrank, by user viewing data, by greatest popularity, by most favorableuser reviews, etc.

Once the first item for the item comparison is identified, the firstitem may be designated as an anchor item in the item comparison. As willbe described in more detail below, the process of preparing andproviding an item comparison to a user may be iterative, wherein foreach iteration of the item comparison, the anchor item may remain in theitem comparison while different items are compared to the anchor item.The anchor item remains in the item comparison until another item isdesignated as the anchor item.

Regardless of whether the first item is designated as an anchor item,the method 100 proceeds at block 106 to identify a set of one or moreother items for comparison with the first item. This set of items may beidentified in any of a number of ways, examples of which are providedherein. The set of items to be compared with the first item (alsoreferred to herein as the comparison set of items) generally includesitems having attributes that are comparable to the attributes of thefirst item. Furthermore, in typical embodiments, the items in thecomparison set of items are not identified until after the first item isidentified. In this manner, a real time automated comparison of itemscan be prepared after an item comparison is initiated.

In some embodiments, the comparison set of items may be identified basedon data reflecting prior activity of one or more users with a computingsystem in regard to the items. For example, a computing system mayoperate a merchant Web site that observes activity by users who areviewing the items offered by the merchant. Such user activity mayinclude, without limitation, click stream data that reflects, in wholeor in part, browsing activity of users. This data may be stored in abrowse history that records relationships between the items viewed bythe users. A browse history may include such information as click streamand browse data, including items actually clicked on by a user, itemsover which the user simply allowed a pointer to hover, items otherwiseindicated of interest by virtue of user activity, etc.

In some embodiments, relationships between items may be determined fromuser activity based on methods and systems described in U.S. PatentPublication No. US 2002/0019763 A1 (“the '763 publication”), publishedFeb. 14, 2002, which is incorporated herein by reference. FIG. 3B of the'763 publication, for instance, and corresponding description in the'763 publication describes a process in which items that may be similaror related may be identified. Specifically, comparable items areidentified by determining items that have been viewed by users in thesame session-specific browsing histories of the users. An item may bedetermined comparable to another item when a number of users who viewedthe item also viewed the other item during the same browsing session.For purposes of the method 100 described herein, the comparison set ofitems may be identified based on data reflecting items that one or moreusers have viewed in the same browsing session as the first item(identified in block 104). Browse histories can be considered a reliablemeasure of relatedness of items because users viewing items in the samebrowsing session tend to view items that are related to each other.

Generally, it may be desired to limit the analysis of prior useractivity to items that belong to a same item category as the first item.For instance, users who are viewing computer printer items may also viewink products in the same browsing session. Ink products are notcomparable to computer printers for providing item comparisons.Accordingly, the analysis described in the '763 publication may bemodified to differentiate and exclude prior user activity in regard toitems that do not belong to the same category of item as the first item.

Any of a variety of other similarity metrics may be used to identifyitems for comparison to the first item. In addition or alternative tousing browse histories of users to identify comparable items, the method100 may use histories of prior user purchases to identify comparableitems. For example, the method 100 may analyze data reflecting prioruser activity showing one or more other items purchased by users whopreviously viewed the first item (identified in block 104). Similarly,the method 100 may analyze prior user activity showing one or more otheritems that were viewed by users who purchased the first item. The basisfor using purchase histories is that users tend to view comparable itemsprior to selecting one of the items for purchase. As with user browsehistory data, an analysis of user purchase history data may be limitedto data associated with items that belong to a same category of items asthe first item. In that manner, complementary items, such as printersand printer ink that may be viewed and/or purchased in the same browsingsession can be differentiated.

Another algorithm that may be used to identify one or more items forcomparison with the first item may rely on known attributes of the firstitem. An electronic catalog, for example (or other collection ordatabase of items), may associate attributes with each of the items inthe catalog. Items that are comparable to the first item may beidentified by analyzing attributes associated with the first item andthen selecting one or more other items from the electronic catalog thatshare like attributes with the first item. Either single attributes orcollections of attributes may be used in this algorithm. For example, ifthe first item is a digital camera, a collection of attributes such as“effective pixels”, “optical zoom”, and “autofocus” may be foundassociated with comparable digital cameras and not other items. Theactual values of such like attributes may also be analyzed to identifythose items that are most comparable to the first item. A multipletwo-step process for selecting a candidate set of items for possiblecomparison with the first item, and then selecting a set of one or morecomparison items from the candidate set based on like attributes isfurther described below.

Yet another algorithm that may be used to identify comparable items forcomparison with the first item may include searching pages havingrecognized text in said pages for references to the first item. Thosepages having text referencing the first item are then analyzed toidentify other items referenced in relation to the first item. A filtermay be applied to the resultant identified items to capture those itemsthat belong to a same item category as the first item.

Either individual pages or collections of pages may be used in thisalgorithm. For example, a magazine article may review an item andreference several competing items in the same article. The pages of themagazine article, having been stored in a database of pages, aresearched to identify those pages that reference the first item.Comparable items are then derived from analyzing the text of the pageson which the first item is referenced, and possibly other associatedpages (e.g., pages belonging to a same magazine article, etc.).

U.S. patent application Ser. No. 10/669,088, filed Sep. 23, 2003 (“the'088 application”), commonly owned with the present application andincorporated by reference herein, describes a computer system havingaccess to images of printed pages, such as the pages of books,magazines, manuals, documents, articles, newsletters, newspapers,journals, etc., whether originating on paper or in electronic printedform. According to the processes described therein, the text in the pageimages may be subjected to a recognition process, such as an opticalcharacter recognition process, to produce recognized text. Therecognized text of each page is associated with the page image fromwhich it comes and is indexed to enable searching of the text in thepage images. Embodiments of the invention that search pages in thismanner, in addition or alternative to searching pages as previouslydescribed, are often able to search a wider base of information andidentify comparable items. Further information concerning other featuresof searching page images as described above is found in the '088application.

Searching of pages to identify comparable items may further includesearching pages available at multiple sites on a computer network, suchas the Internet or other global, wide area, or local area networks. Suchpages available on a computer network may include, but are not limitedto, word processing documents, Web pages, documents in portable documentformat, etc. Pages available at the multiple sites on a computer networkare searched to identify those pages that reference the first item. Thepages that reference the first item are then analyzed to identify otheritems referenced in relation to the first item. In some embodiments,other items may be considered as referenced in relation to the firstitem if the other items are referenced in the same page as the firstitem or in pages related to the page on which the first item isreferenced (e.g., in a same magazine article).

If desired, identifying a set of one or more other items for comparisonwith a first item may be performed in multiple steps. For example, insome embodiments, identifying a comparison set of items may firstinvolve selecting a candidate set of items for possible comparison withthe first item, and then from the candidate set selecting the comparisonset of items. Algorithms that cast a wider net may be used to select thecandidate items for possible comparison with the first item. Filters,such as item categories, may be applied to the outcome of thealgorithm(s) to limit the candidate set of items to a maximum number ofitems, e.g., 10 or 20 items, for example.

Generally, the items in the candidate set of items are selected forbeing more comparable to the first item than other items. For instance,items in the candidate set of items may be selected based on measuringlike attributes of the items and selecting those items having attributesthat collectively are more similar to the attributes of the first itemthan other items.

In a second step of the process, the items in the candidate set of itemsare analyzed to select one or more items for actual comparison with thefirst item. A similarity metric such as one measuring similar attributesvalues may be used to more tightly identify those items in the candidateset that are most similar to the first item. In this manner, thecomparison set of items that is actually compared to the first item inthe item comparison may be limited to a desired number, such as two orthree items, for example.

Some attributes of an item may generally be considered more or lessimportant to users than other attributes. For example, most if not alldigital cameras will come with a strap that the user can use to securethe camera to their arm or neck. Accordingly, users may consider a strapattribute to be less important than, say, the price or effective numberof pixels of the digital camera. Accordingly, in some embodiments,attributes of items may be weighted such that attributes having greaterweight will have a greater influence for selection of the item thanattributes having lesser weight.

A weighting of attributes may be applied in both the first stepdescribed above, for selecting a candidate set of items, as well as thesecond step described above, for selecting a comparison set of items.The weighting of attributes may be determined manually by humanoperators who designate attribute weights based on knowledge of userinterests. Alternatively, or in addition, weighting of attributes may bedetermined programmatically by the computing system, e.g., by observingprior user activity tending to indicate attributes that are likely moreimportant to users. For example, browse data including user searchqueries, click streams, and pointer activity may be examined to identifythose attributes of the items that are more frequently searched, clickedon, or pointed to when users are browsing items. More frequentlysearched, clicked, or pointed to attributes may be considered moreimportant and thus given greater weight. In one basic application,weighting of attributes may be accomplished by assigning numericalvalues that are included in a numerical evaluation of the items'attributes. Examples of numerical evaluations of attributes aredescribed later herein.

In another aspect of the method 100, once the items in the comparisonset (i.e., those items to be provided in an item comparison to the user)are identified, a prioritization process may be applied to theattributes in the item comparison, as indicated at block 108 in FIG. 1.In the prior art, consumers given item comparisons typically must wadethrough several pages of attributes and analyze each attribute toidentify those attributes that truly distinguish the compared items fromeach other. Such distinguishing attributes may be buried within adisplay of other attributes that do not distinguish the items from eachother. A further improvement to the automated item comparison describedabove is provided by sorting the attributes of the items in the itemcomparison to emphasize those attributes that better distinguish thecompared items from each other.

In some embodiments, attributes that distinguish the items more fromeach other are arranged to appear higher in a list of attributesprovided to the user in the item comparison. Prioritizing the attributesof the first item and the other items in the comparison set may includemeasuring like attributes of the items and arranging the attributes inan order according to the degree the like attributes distinguish theitems from each other. Additional detail regarding example processes forprioritizing attributes of items is provided below in connection with adescription of the sample item comparison shown in FIG. 5. The itemcomparison with the prioritized attributes is then provided to the user,as indicated at block 110 of FIG. 1.

Before discussing the sample item comparison shown in FIG. 5, it ishelpful to consider an example of a computing environment in whichmethods, such as method 100 shown in FIG. 1, may be implemented. FIG. 2illustrates one exemplary computing environment 120 that includes avariety of user devices 122, 124, and 126 connected to a network 128.The network 128 may be a local area network, wide area network, orglobal network, such as the Internet. The user devices 122, 124, 126 areeach configured to allow users operating the devices to request andreceive item comparisons, as described herein, via the network 128.Although exemplary user devices such as a PC and PDA have beenillustrated in FIG. 2, persons of ordinary skill in the art willrecognize that any range or type of portable or non-portable device maybe used. Furthermore, it will be appreciated that indicators of useractivity other than positioning, movement, or clicking of a mousepointer can be used in embodiments of the invention.

A front end server 130 shown connected to the network 128 receives anitem comparison request from a user, and in turn prepares and providesan item comparison in accordance with the request. The front end server130 may be configured to communicate with users operating the userdevices 122, 124, 126 using any of a variety of communication protocols,including hypertext transfer protocol and file transfer protocol. In aWeb environment, the front end server 130 may be configured with programinstructions that, when executed, cause the front end server 130 toprepare and provide item comparisons in the form of Web pages that aredelivered and displayed to users on the user devices 122, 124, 126.

A back end server 132 is shown operatively connected to the front endserver 130. In some embodiments, the front end server 130 and the backend server 132 may be physically embodied into separate server systems,and in other embodiments, the servers 130 and 132 may be combined in asingle computing apparatus. For purposes of this example, the back endserver 132 is depicted separately for providing back end services to thefront end server 130 for preparing and providing item comparisons tousers. In the course of preparing and providing an item comparison atthe instruction of the front end server 130, the back end server 132 mayaccess, search, and analyze information contained in electronicdatabases, such as an item catalog 134 and a user activity database 136stored in a memory. In this example, the item catalog 134 is assumed toinclude a collection of information on items, wherein each item has anassociated set of attributes. The user activity database 136 is assumed,in this example, to include information concerning prior user activitywith the front end server 130 and back end server 132, including browsehistories and purchase histories of users.

FIG. 3 is a pictorial diagram of the computing environment 120 shown inFIG. 2, with additional details regarding the functionality of front endserver 130 and back end server 132 shown in block format. In one exampleof the present invention, the front end server 130 receives a requestfor an item comparison from the user device 122 via the network 128. Thefront end server 130 may simply pass the item comparison request to anitem comparison manager 140 operating within the back end server 132.Alternatively, the front end server 130 may provide initial processingservices that parse the item comparison request and provide appropriateinstructions to the item comparison manager 140 for preparing andproviding an item comparison.

The item comparison manager 140, in this example, is responsible formanaging the processes in the back end server 132 for preparing therequested item comparison. In a manner as discussed above, the itemcomparison manager 140 may initially identify the first item to whichother items are to be selected and compared. Given the identity of thefirst item, and possibly attributes of the first item, the itemcomparison manager 140 interacts with an item selector 142 to identifyand select the items to be compared to the first item. The item selector142 may generate search queries and search the item catalog 150 toidentify items that are comparable to the first item.

Identifying comparable items may be accomplished in multiple steps, asdescribed above. For example, in a first step, the item selector 142 mayquery the item catalog 150 to identify a candidate set of items forpossible comparison to the first item. The item selector 142 thenanalyzes the candidate set of items to identify a comparison set of oneor more items that are actually compared to the first item and providedto the user.

Also as earlier described, prior user activity with respect to the itemsbeing compared may be consulted to identify comparable items. Forexample, the item selector 142 may analyze browse histories or purchasehistories stored in the user activity database 152 to identify andselect items that are comparable to the first item in the itemcomparison.

Once the comparison set of one or more items is identified and selected,the item comparison manager 140 may interact with an attributeprioritizer 144 that prioritizes the attributes of the first item andthe comparison items for presentation to the user. Using processes asdescribed herein, the attribute prioritizer 144 may analyze data in theuser activity database 152 to identify those attributes of the itemsthat may be more important to users, and give greater weight to thoseattributes when prioritizing the attributes. As will be described below,attributes may be prioritized by programmatically measuring likeattributes of the items against each other and arranging the attributesfor presentation to the user in an order according to the degree thelike attributes distinguish the items from each other.

Persons having ordinary skill in computer processing will recognize thatthe functions of the item comparison manager 140, the item selector 142,and the attribute prioritizer 144 may be implemented using any one of avariety of computer languages to code instructions that, when executedin a computing system such as the back end server 132, cause the serverto carry out the intended functions.

In yet another embodiment, a computer system may be provided thatincludes a front end server 130, an item comparison manager 140, an itemselector 142 and an attribute prioritizer 144. The front end server 130is configured to receive a request for an item comparison. The itemcomparison manager 140 is configured in communication with the front endserver 130 and with the item selector 142 for preparing the itemcomparison, wherein two or more items are identified for the itemcomparison. The attribute prioritizer 144 is configured toprogrammatically determine an order in which comparable attributes ofthe identified items are presented based on the attributes, such thatincluding a different item in the item comparison can result in adifferent prioritized order of the attributes, as discussed below. Ifdesired, the item comparison may be prepared and provided to a user inreal time after the front end server 130 receives the item comparisonrequest. The item comparison manager 140 and the item selector 142,together with the attribute prioritizer 144 (in some embodiments),comprise a comparison engine that is configured to prepare and providean item comparison.

FIG. 5 illustrates one example of an item comparison that may beprovided to a user in accordance with principles of the presentinvention. A Web browser 180 shown in FIG. 5 includes a display areashowing a Web page 182. The Web page 182 features an item comparisonthat, in this example, may have resulted from a user actuating the“Compare” button 172 shown in FIG. 4. By user actuation of the “Compare”button 172, an item titled “PowerPic Camera 3000” is indicated as thefirst item for the item comparison. Accordingly, a first column 184 inthe item comparison table shown in FIG. 5 includes information about the“PowerPic Camera 3000”.

In this example, the automated comparison process of the invention hasidentified and selected two other items shown in a second column 186 anda third column 188 for comparison with the first item 184. The seconditem 186, in this example, is shown titled “FineShot X Camera” while thethird item 188 is shown titled “AllPro Digicamera”. Respective images ofthe items in the item comparison table may be featured at referencenumeral 190 on the Web page 182. Below the item titles indicated atreference numeral 192 is a listing of like attributes shared by each ofthe items 184, 186, and 188. In this particular example, the attributesinclude price 200, size 202, effective pixels 204, optical zoom 206,digital zoom 208, LCD screen 210, and autofocus 212. The item comparisontable may include many other attributes that can be seen by scrollingdown the Web page 182 using the scroll bar 214 shown in FIG. 5.

As can be seen, the items in the comparison table shown in FIG. 5 arepresented in a side-by-side horizontal orientation. In otherembodiments, the items may be presented in a vertical orientation,perhaps with the attributes listed in columns adjacent to the itemsbeing compared. In embodiments where a first item or anchor item isidentified, and then other items are identified for comparison, thecomparison table may present the first item or anchor item first,followed by the other items, in a horizontal or vertical orientation.

Unlike prior art item comparisons in which attributes are presented in astatic and typically unarranged or biased fashion, item comparisonsprovided by embodiments of the present invention include prioritizedattributes that emphasize those attributes that, depending on criteriaused, better serve to distinguish the items from each other. Theprioritization is generally based on criteria that are more objective,and thus limits or removes bias that is found in prior art comparisons.

As previously noted, a variety of ways may be used to emphasize certainattributes over others. For example, in some embodiments, attributes inan item comparison are shown arranged in an order according to thedegree the attributes distinguish the items from each other. In theexample of FIG. 5, attributes such as price 200, size 202, and effectivepixels 204, have been arranged to appear higher in the list than otherattributes in the item comparison because those attributes aredetermined to distinguish the items 184, 186, 188 from each other morethan the other attributes.

Any of a variety of algorithms may be used to measure like attributes ofitems against each other for purposes of determining the degree that theattributes tend to distinguish the items from each other. In onesuitable algorithm, a numerical analysis of the attributes is performedby assessing a distance between the attributes. The distances may beused to provide scores for comparison. If desired, the distanceassessments may be normalized. There are many distance-measuringfunctions and algorithms known in the art, especially in clusteringliterature, that may be used in this aspect of the invention. Personshaving ordinary skill in the art will recognize suitable functions andalgorithms that may use entropy criteria, information gain, gain ratios,gini index, KL distances, and/or J measures. Embodiments of theinvention can also use methods for attribute selection, e.g., as used indecision trees. Attributes that are not already in numeric form may havenumeric values assigned to them, if desired (e.g., attributes in“Yes/No” form may have a value of 1 assigned to “Yes” attributes, and avalue of 0 assigned to “No” attributes).

One exemplary illustration of a process for determining normalizeddistances between attributes, and forming scores therefrom, is describedas follows. Items in a certain range of items, such as items identifiedin a candidate set of items as previously described, may be analyzed todetermine a range of values that an attribute of the items may cover.For example, a candidate set of digital camera items for possiblecomparison with the “PowerPic Camera 3000” 184 shown in FIG. 5 mayinclude prices that range from $349 to $799.

Each range of attributes may be normalized to a score of 0-100, forexample. Item prices in the range of $349 to $799 may thus be assigned ascore according to the distance of the prices from each other within theprice range.

In this example, the “AllPro Digicamera” 188, having a price of $349that matches the low end of the price range, receives a score of 0 forits price attribute. The price attribute for the “FineShot X Camera”186, matching the high end of the price range at $799, receives a scoreof 100 for its price attribute. The “PowerPic Camera 3000” 184, having aprice attribute of $569, receives a score of 48 for its price attribute.The score of 48 is calculated, in this example, by subtracting the lowend of the price range ($349) from the $569 price of the camera 184. Theresult of the subtraction is then divided by the distance of the entirerange, that is the value of $799 (the high end of the range) minus $349(the low end of the range). The result of this division is thenmultiplied by 100. Stated otherwise for this example,[($569−$349)/($799−$349)]×100=48.

In a like manner, normalized distances may be calculated for otherattributes to form similar scores in a range of 0-100 for each of theattributes. For example, turning to the effective pixels attribute 204,it may be that the digital cameras in the candidate set of items (fromwhich the compared items 186 and 188 were selected) cover a range of 4megapixels to 8 megapixels (MP). Using a calculation as described abovefor the price attribute 200, the effective pixels attribute 204 for thefirst item 184 (that is, 6 MP) receives a score of 50, while theeffective pixels attribute for the second item 186 (8 MP) and the thirditem 188 (7.3 MP) receive scores of 100 and 82.5, respectively. As tothe latter score for the third item 188, for example, the score iscalculated as follows: [(7.3 MP−4 MP)/(8 MP−4 MP)]×100=82.5.

For attributes such as size 202, a numeric value for the attribute maybe determined based on the cubic size of the item, that is, the productof the width, height and depth dimensions provided by the size attributeof the items. In this particular example, the first item 184 has a cubicsize of 13.728, the second item 186 has a cubic size of 63.336, and thethird item 188 has a cubic size of 24.696. Using those cubic values in acalculation as described above, given a cubic size of items in thecandidate set of items for this comparison ranging from 10 to 70 (forexample), a score of 6.2 is calculated for the first item 184, whilescores of 88.9 and 24.5 are calculated for the second item 186 and thirditem 188, respectively.

Turning to the remaining attributes in the item comparison of FIG. 5,applying a similar calculation as described above, and given exampleattribute ranges of 3X-8X for the optical zoom attribute 206, 0X-4X forthe digital zoom attribute 208, 1.8″-2.2″ for the LCD screen attribute210, and 0-1 for the autofocus attribute 212 (0 signifying “No” and 1signifying “Yes”), scores for the remaining attributes may be calculatedas follows: 0, 60, 0, respectively, for the optical zoom attribute 206of the first item 184, second item 186, and third item 188; 50, 0, 75,respectively, for the digital zoom attribute 208 of the items 184, 186,188; 0, 50, 0, respectively, for the LCD screen attribute 210 of theitems 184, 186, 188; and 100, 100, 100, respectively, for the autofocusattribute 212 of the items 184, 186, 188.

With scores that are indicative of a normalized distance between theattributes of the items in the item comparison, which may be calculatedby methods described above or other methods, a meaningful comparison oflike attributes for prioritization of the attributes can be performed.In one basic embodiment, for each like attribute of the items 184, 186,188, the attributes are prioritized based on the difference between thescores of the second and third items 186, 188 from the first item 184.Those attributes having a greater difference in scores compared to thefirst item 184 are considered in this example to be better able todistinguish the items from each other.

In the example of FIG. 5, the price score of 100 assigned to the seconditem 186 and the price score of 0 assigned to the third item 188collectively have a greater difference from the price score 48 assignedto the first item 184 than the difference in scores of the otherattributes in the item comparison. Accordingly, the price attribute 200is arranged highest in the order of attributes in the item comparisonWeb page 182. The user receiving the item comparison will consider thatattribute first.

The size attribute 202 is arranged next in the order of attributes inthe item comparison because the collective difference between the sizeattribute scores assigned to the second item 186 (that is, 88.9) and thethird item 188 (that is, 24.5) from the score of the first item 184(that is, 6.2) is greater than the collective difference of the scoresof the attributes below it. This arranging of attributes in an orderaccording to the degree the attributes distinguish the items from eachother may continue until the item comparison reaches attributes havingidentical scores, such as the autofocus attribute 212. Attributes havingidentical scores are generally considered to have the least ability todistinguish the items from each other, and thus are arranged lower inthe order of attributes.

The ordering of attributes in an item comparison provided to a user maybe adjusted by assigning weights to the attributes such that attributeshaving greater weight will have greater influence on the ordering theattributes than attributes having lesser weight. In that regard, forexample, for digital cameras it may be recognized that users considerthe effective pixels attribute 204 to be more important than otherattributes, regardless of the ability of that attribute to distinguishthe compared items. With appropriate weighting of the scores assigned tothe effective pixels attribute for the items 184, 186, 188, theeffective pixels attribute 204 may appear higher in the list ofattributes even though the collective difference between the scores ofthe compared items 186, 188, from the first item 184 may be lower thanthat of other attributes. In some cases, the effective pixels attribute204 may have the same attribute value for each of the items 184, 186,188, yet with appropriate weighting, the effective pixels attribute 204may appear higher in the list of attributes in the item comparison.Weights may be assigned to attributes in the form of numerical values orother ordered indicators of importance.

For purposes of weighting attributes, the relative importance or valueof item attributes may, in some embodiments, be determined by analyzingdata that reflects prior user activity with items of the type shown inthe item comparison, or other data such as item reviews, sales ranking,item description pages, etc., which may be stored in one or more localor remote repositories. Attributes tending to be more popular with usersor subject to more frequent searching, for example, may be consideredmore important or valuable to users and hence eligible for greaterweighting when the item attributes are prioritized at block 108 (FIG.1). Weights may be assigned to attributes manually or automatically inaccordance with embodiments of the invention.

It should also be recognized that the attributes identified in FIG. 5are exemplary only. Numerous other attributes may be shown. Furthermore,other types of items will have different attributes associated therewiththat may form part of an item comparison produced in accordance with thepresent invention. In addition, other attributes such as attributesrelated to user behavior or commercial success of an item, may be shown.For example, an item comparison (e.g., as shown in FIG. 5) may include“People Who Viewed This Item Actually Purchased It” followed by numberssuch as “72%”, “10%”, and “92%” respectively under each of the columnsfor the items 184, 186, 188. As another example, an item comparison mayinclude “Sales Rank” (among comparable items) followed by numbers suchas “1”, “4”, and “2” respectively under each of the columns for theitems 184, 186, 188. The item comparison may also combine attributesthat are all shared by the compared items such as by indicating “Allhave . . . Carrying case: Yes; Strap: Yes; Shutter Speed Range: 30 secto 1/1000 sec; Interchangeable Lenses: No”.

Returning now to FIG. 1, after the attributes of the first item 184 andthe comparison set of items 186, 188 have been prioritized (block 108),the item comparison with the prioritized attributes is provided to theuser, as indicated at block 110. The item comparison may be provided tothe user in any format, such as a Web page (e.g., Web page 182 shown inFIG. 5), word processing document, spreadsheet document, etc.

The method 100 in FIG. 1 depicts an additional, optional step in whichfeedback regarding the item comparison is received from the user, asindicated at block 112. Such feedback from the user may be a simpleresponse indicating whether the item comparison was useful, or it may bea type of response that causes the method 100 to prepare and provide amodified item comparison to the user. In regard to the latter, forexample, the user may click on and thereby designate another item to bethe first item 184 (see FIG. 5) with which other items 186, 188 arecompared. In that case, the method 100 takes the newly-designated firstitem 184 and automatically returns to block 106 to identify a set ofother items 186, 188 for comparison with the newly-designated first item184. Automated processes for preparing and providing an item comparisonbased on the newly-designated first item 184 may proceed as earlierdescribed in regard to blocks 106, 108, and 110.

In other circumstances, the feedback received at block 112 from the usermay indicate an attribute of interest to the user. For example, the usermay click on or otherwise indicate an attribute of interest in the itemcomparison Web page 182 provided to the user. Referring to FIG. 5, forinstance, a user may click on or hover over the optical zoom attribute206. The method 100 may then designate the optical zoom attribute 206 asan attribute of interest. Such action may result in weighting theattribute, and then re-generating a new item comparison in which thecomparison set of other items 186, 188, is modified to include itemsthat are most similar to the first item 184 with respect to the opticalzoom attribute 206. In this example, where the first item 184 has anoptical zoom attribute of “3X”, a modified item comparison may begenerated in which the comparison items 186, 188 items have the same orsimilar optical zoom attribute.

In yet other circumstances, the feedback received from the user at block112 may indicate an attribute of interest, after which the itemcomparison provided to the user is modified to emphasize the attributeof interest. As described earlier, emphasis of an attribute may beaccomplished by weighting the attribute so that it appears higher in theorder of attributes. In yet other embodiments, an attribute of interestmay be emphasized by some other designation, such as bolding the text ofthe attribute, or placing an icon or image next to the attribute, etc.

While several embodiments of the invention have been illustrated anddescribed above, it will be appreciated that various changes can be madetherein without departing from the spirit and scope of the invention.For example, FIG. 6 depicts yet another method 230 that may be performedby a computer system in accordance with the present invention. Themethod 230 incorporates many steps as previously described. Brieflystated, the method 230 begins at block 232 by receiving a selection of afirst item that, in this embodiment, is designated as an anchor item forthe item comparison. An anchor item generally remains in the itemcomparison, even though other items in the item comparison may be movedor replaced, e.g., according to user feedback such as by clicking on anattribute of interest. An anchor item generally remains in the itemcomparison until replaced by another anchor item. In one exemplaryembodiment, the user may click on one of the other items featured in theitem comparison (other than the anchor item) to designate a new anchoritem.

In some embodiments, an anchor item may be selected based on an anchordescriptor that identifies a set or category of items from which theanchor item is selected. The anchor descriptor may be static or dynamicin how it is defined. While in these embodiments the anchor descriptorgenerally remains constant until replaced by another anchor descriptor,the actual anchor item selected for the item comparison may change fromone item comparison to the next.

At block 234, the method 230 selects a candidate set of items forpossible comparison to the anchor item, after which a comparison set ofitems is selected in block 236 for actual comparison to the anchor item.As previously described in regard to block 106, an algorithm fordetermining comparable items that casts a wider net may be used in block234 to select the candidate set of items, and another algorithm may beapplied in block 236 to the candidate set of items to narrow down andselect the comparison set of items.

Once the comparison set of items is selected in block 236, theattributes for the anchor item and the comparison set of items areprioritized in block 238, after which the item comparison with theprioritized attributes is provided to the user in block 240. As with themethod 100 shown in FIG. 1, the method 230 shown in FIG. 6 mayoptionally receive feedback from the user in block 242. Such feedbackmay cause the method 230 to repeat actions discussed above in blocks232-240 to prepare and provide modified item comparisons to the userbased on the feedback received.

According to some embodiments of the present invention, a user is notrequired to identify competing items for a comparison prior torequesting an item comparison. With the actuation of a single control,such as clicking on a “Compare” button shown in FIG. 4, or other singleuser action, an automated process may generate, typically in real time,a comparison of comparable items and provide the item comparison to theuser. A single-click “Compare” button could appear, by way ofillustration, on an item detail Web page, on a search results page witha listing of items, on a popup window that may appear when the user'scursor hovers over an item description, with a list of items provided tothe user for other reasons, etc. If the user decides that he or shewishes to see other items in the item comparison, the user may providefeedback, e.g., by clicking on an attribute of interest, that causes amodified item comparison to be prepared and provided to the user. Theitem comparison Web page 182 provided to the user in FIG. 5 may alsoinclude controls for each of the items, such as the “Exclude” buttons216, which the user may actuate to replace one or more of the depicteditems from the item comparison. If the user clicks on the “Exclude”button 216 for an anchor item 184, one of the other items 186, 188 inthe item comparison may automatically be designated as a new anchor itemfor the comparison. Alternatively, a completely different item may bedesignated as the new anchor item. The excluded item is then removedfrom the item comparison Web page 182 and a new item comparison withdifferent compared items is generated and provided to the user.

In yet another embodiment of the invention, a user clicking on anattribute (or hovering a mouse pointer over an attribute for adetermined period of time), may receive additional informationexplaining why the attribute may be considered important. Suchadditional information may appear in a popup window or other interfacedisplayed to the user. This additional information may include ahistogram illustrating a distribution of items considered in the itemcomparison across the range of values for the particular attribute. Inthat manner, the user may observe whether the items shown in thecomparison have an attribute that is unique to the items or is sharedwith a large number of other items. This additional information may beprovided to the user as an interstitial step before continuing to modifythe item comparison with an emphasis on the attribute of interest. Aseparate control, such as a button, may be provided for the user toactuate to continue with the modified item comparison. Alternatively,the modified comparison may be provided automatically after a periodtime has elapsed.

In still another embodiment of the invention, a user may be presentedwith an interface that allows the user to select the algorithms orparameters thereof used to produce the item comparison. Typically, suchan interface would be provided only to users indicating an advancedability to configure the item comparison process. Some algorithms forselecting comparable items may cast a wider net, as previouslydescribed, while other algorithms may be tuned for selecting itemshaving attributes in certain ranges. An interface, such as a drop downbox, may enable a user to indicate an algorithm of interest. Separatedrop down boxes may be provided, for example, for each of the processesthat selects a candidate set of items for possible comparison, selects acomparison set of items for actual comparison, and prioritizesattributes of the comparison set for the item comparison.

Further embodiments of the invention may be constructed to addresscircumstances in which a user desires to compare two or more specificitems. Although prior art approaches such as providing check boxesassociated with the items of interest may be used to designate the itemsfor comparison, automated item comparison processes of the invention mayconsider the other actions of a user to identify the items the userdesires to compare.

For example, a circumstance may occur in which a user clicks on a“Compare” button for item A, and while item B may be included in thecandidate set of items for possible comparison with item A, it is notincluded in the smaller set of comparison items actually compared toitem A. Suppose then the user continues to browse the items and seesitem B with an associated “Compare” button. If the user clicks on the“Compare” button for item B, an automated item comparison process mayassume that the user is interested in both items A and B. The processthereafter ensures that item A is included in the comparison set ofitems actually compared with item B.

In another circumstance, a user may browse information regarding item Aand later click on a “Compare” button associated with item B. Again, anautomated item comparison process could assume that the user isinterested in both items A and B, and thereafter ensure that item A isincluded in the comparison set of items actually compared with item B.The amount of time taken and/or the number of pages viewed to browseinformation regarding item A may be relevant in this regard.

An item comparison Web page 182 may include a further control, such as a“See More” link 218 shown in FIG. 5, that provides greater control overthe items shown in the item comparison. For instance actuating the SeeMore link 218 may cause an interface to appear to the user showing someor all of the items in the candidate set of items selected for possiblecomparison. By associating appropriate controls, such as check boxes,with the list of items shown to the user, the user may designate one ormore particular items to be added or substituted in the item comparisonWeb page 182.

As an alternative, the “Exclude” buttons 216 shown in FIG. 5 may beconfigured to not only remove the item associated with the particularExclude button that was clicked on, but also provide the user aninterface listing the items in the candidate set of items that allowsthe user to designate a particular item to replace the item beingexcluded (or possibly designate other candidate items to be sure areexcluded). The item comparison Web page 182 would then be prepared withthe substituted item shown in the item comparison. Prioritizing of theattributes shown in the Web page 182 may be performed after substitutinga new item in the item comparison.

As described earlier, the first item 184 may be designated an anchoritem that remains in the item comparison Web page 182 until a new anchoritem is designated. An additional feature may be added to embodiments ofthe invention in which each of the items 184, 186, 188, for example,have a lock icon or other control that a user may actuate to indicatedthat a certain item should be locked into the item comparison table. Inthis manner, while the first item 184 may remain an anchor item to whichthe other items 186, 188 are compared, one or more of the other items186, 188 may be locked into the table so that when a modified itemcomparison is run, only the unlocked item(s) may be replaced with othercomparable item(s).

In still other embodiments, an item comparison may automatically begenerated and provided to a user without receiving a user request forthe comparison. A user interface or algorithm observing a user'sactivity may programmatically identify circumstances in which an itemcomparison would appear to be helpful or desired by a user andautomatically proceed to provide the comparison.

It should also be recognized that the present invention includesembodiments in the form of a computer-accessible medium having contentsthat cause a computer system to undertake actions described herein. Forinstance, one embodiment of a computer-accessible medium may cause acomputer system to receive a request for an item comparison and preparethe item comparison by identifying a first item for the item comparison,identifying a set of one or more other items for comparison with thefirst item, and programmatically determining an order of attributes ofthe first item and the other items in the comparison set based on theattributes, such that including a different item in the comparison setcan result in a different prioritized order of the attributes. The itemcomparison is then provided to a user with the prioritized order ofattributes. If desired, the contents of the computer-accessible mediummay cause the computer system to prepare and provide the item comparisonto a user in real time after receiving the item comparison request.

FIG. 7 is block diagram of one exemplary interface 250 that may be usedto provide an automated comparison of items in accordance with thepresent invention. The illustrated interface 250 includes an inputcomponent 252, a processing component 254, and an output component 256.The input component 252 is configured to receive informationrepresenting an action by a user, such as a user operating a user device122 in connection with network 128. In response to information receivedby the input component 252 that represents a single user action, theprocessing component 254 may produce a comparison of items with a firstitem by identifying a comparison set of one or more other items forcomparison with the first item and programmatically determining an orderof attributes of the first item and the other items in the comparisonset in a manner described or suggested above in regard to FIGS. 1-6. Theattributes are prioritized based on an analysis of the attributes, suchthat including a different item in the comparison set can result in adifferent prioritized order of the attributes. The output component 256is configured to provide the item comparison produced by the processingcomponent 254. If desired, the components of the interface 250illustrated in FIG. 7 may incorporate some or all of the hardware andsoftware features of the front end server 130 and backend server 132discussed above with respect to FIGS. 2 and 3.

In some embodiments, the input component 252 may be accessible via anapplication programming interface (API) that enables a third party 258in communication with a user device 122 to access the input componentand provide information representing an action by the user.Alternatively, or in addition, the output component 256 may beaccessible via an API that enables a third party 258 in communicationwith the user device 122 to access the output component 256 and receivethe item comparison. As with the comparison table illustrated in FIG. 5,the output component 256 may provide an item comparison in which theitems in the comparison are identified side-by-side with theirattributes presented in a prioritized order.

In operation, the input component 252 may receive informationrepresenting user actuation of a mechanism (e.g., a single user action)that initiates an automated comparison of items in accordance withembodiments of the invention. The item comparison may be producedwithout requiring the user to identify all of the items in the itemcomparison. Examples of a mechanism that may be used in this regard,without limitation, include a button and a link that a user may actuatefor an automated item comparison. A non-limiting example is illustratedby the “Compare” buttons 168, 170, 172, 174 shown in FIG. 4.

The processing component 254 of the interface 250 may further beconfigured to produce a modified item comparison, particularly inresponse to feedback from a user device 122. For example, informationrepresenting a single user action may indicate user interest in anattribute of the items in the item comparison. In response thereto, theprocessing component 254 may produce a modified item comparison thatemphasizes the attribute of interest. Alternatively, or in addition, theprocessing component 254 may be configured to produce a modified itemcomparison when a user, by way of information representing a single useraction, indicates user interest in an item in the comparison set. Inthat regard, the item of interest may becomes the first item for theitem comparison and thereafter the processing component 254 identifies anew comparison set of one or more other items for comparison with thefirst item. The processing component 254 also determines a new order ofattributes based on an analysis of the attributes of the items in themodified item comparison.

From a user perspective, an embodiment of the invention may implement amethod for an item comparison that includes, from a client device,providing to a comparison engine an identification of a first item. Inresponse to a single action of a user of the client device, a signal maybe provided to the comparison engine to prepare an item comparison basedon the first item. The client device thereafter receives from thecomparison engine a comparison of a set of items that includes the firstitem and one or more other items. The comparison includes the items inthe set and a prioritized order of attributes of the items in the set.

The comparison engine is configured to programmatically select the oneor more other items in the set and the prioritized order of comparisonattributes in response to the signal. If desired, the item comparisonmay be initiated without requiring the user to acknowledge a criterionused by the comparison engine to programmatically select the one or moreother items for the item comparison.

In response to a further single action of the user indicating anattribute of interest, the method may further comprise providing to thecomparison engine a signal to prepare a modified item comparison. Themodified item comparison may include one or more other itemsprogrammatically selected by the comparison engine based on at least theattribute of interest.

In yet another embodiment, a method for an item comparison may includeidentifying a first item for an item comparison and, using multiplecriteria, programmatically selecting a comparison set of one or moreother items for comparison with the first item. The item comparison maybe produced for output to a user without prior user acknowledgement ofthe criteria used to identify the one or more other items in the itemcomparison. Programmatic selection of items using criteria notacknowledged in advance by the user allows the criteria to differ fromone item to another and from one item comparison to another. Moreover,the criteria to be used may be automatically chosen before or after theitem comparison is initiated.

In some cases, the first item in the item comparison may be identifiedby a user. In other cases, the first item may be automaticallyidentified from a type of item indicated by user activity.

As noted above, multiple criteria may be used to programmatically selectthe one or more other items for comparison with the first item. Themultiple criteria may include, but are not limited to: a criterion thatselects items based on data reflecting user activity in regard to theitems; a criterion that selects items based on a sales ranking of theitems; a criterion that selects items based on a search of pages forreference to the first item and for reference to other items in relationto the first item; and a criterion that selects items based on itemattributes that collectively are most similar to attributes of the firstitem. In regard to the latter criterion, the attributes may be weightedsuch that attributes having a greater weight will have greater influencefor selection of the items than attributes having lesser weight.

As to a criterion that selects items based on data reflecting useractivity, the data may include, but are not limited to: a browse historycomprised of a record of items viewed by one or more users who alsoviewed the first item; a purchase history comprised of a record of itemspurchased by one or more users who previously viewed the first item; anda purchase history comprised of a record of items viewed by one or moreusers who previously purchased the first item. In some cases, wheredesired, the data reflecting user activity may be limited to useractivity in regard to items identified as belonging to a same categoryof items to which the first item belongs.

As with other embodiments described herein, the foregoing method mayfurther comprise measuring like attributes of the items in thecomparison set against each other and arranging the attributes forpresentation to a user in an order according to a degree that the likeattributes distinguish the items from each other. Alternatively oradditionally, the method may further comprise analyzing data thatreflects prior user activity to determine user interest in an attributeof an item, and thereafter produce the item comparison in which anattribute determined to be of greater interest is emphasized. In somecases, the attribute of greater user interest may be emphasized in theitem comparison by arranging the attribute to appear higher in an orderof the attributes. Furthermore, as with other embodiments describedherein, the items in the comparison set may be selected in real timeafter receiving a request for the item comparison. In the foregoingspecification, the invention has been described with reference tovarious specific embodiments thereof. However, modifications and changesto those embodiments and others can be made without departing from thebroader spirit and scope of the invention. The specification anddrawings are, accordingly, to be regarded in an illustrative rather thanrestrictive sense. The scope of the invention should be determined fromthe following claims and equivalents thereto.

1. A computer-implemented method for an automated comparison of items,comprising: (a) identifying, by a server, a first item for an itemcomparison; (b) identifying, by a server, a comparison set of one ormore other items for comparison with the first item; (c)programmatically determining, by a server, an order of attributes of thefirst item and the other items in the comparison set in which theattributes are prioritized based on an analysis of the attributes, suchthat including a different item in the comparison set can result in adifferent prioritized order of the attributes, wherein the prioritizedorder is based on a calculation of dissimilarity between attributes ofthe first item and attributes of the other items in the comparison set;and (d) producing the item comparison in which the item attributes areconfigured for presentation in the prioritized order to a user device.2. The method of claim 1, wherein the first item is identified by auser.
 3. The method of claim 1, wherein the first item is automaticallyidentified from a type of item indicated by user activity.
 4. The methodof claim 3, wherein the user activity is user interaction with a Webpage.
 5. The method of claim 3, wherein the user activity is userinteraction with an electronic catalog of items offered by a merchant.6. The method of claim 1, wherein the first item is designated as ananchor item that remains in the item comparison until another item isdesignated as the anchor item.
 7. The method of claim 1, wherein thecomparison set of one or more other items is automatically identifiedbased on data reflecting user activity in regard to the items.
 8. Themethod of claim 7, wherein the data reflecting user activity includes abrowse history comprising a record of one or more other items viewed byone or more users who also viewed the first item.
 9. The method of claim7, wherein the data reflecting user activity includes a purchase historycomprising a record of one or more other items purchased by one or moreusers who previously viewed the first item.
 10. The method of claim 7,wherein the data reflecting user activity includes a purchase historycomprising a record of one or more other items viewed by one or moreusers who previously purchased the first item.
 11. The method of claim7, wherein the first item belongs to a category and the data reflectinguser activity is limited to user activity in regard to items identifiedas belonging to the same category of items to which the first itembelongs.
 12. The method of claim 1, wherein the first item and one ormore other items for comparison with the first item are identified by auser.
 13. The method of claim 1, wherein the set of one or more otheritems identified for comparison is identified by analyzing attributes ofthe first item and selecting one or more other items that share likeattributes with the first item.
 14. The method of claim 1, wherein theset of one or more other items identified for comparison is identifiedby searching pages having recognized text in said pages for reference tothe first item and then identifying other items referenced in relationto the first item.
 15. The method of claim 14, wherein the pages areimages of printed pages, and the text in said page images has beenrecognized by a character recognition process applied to the pageimages.
 16. The method of claim 1, wherein the set of one or more otheritems identified for comparison is identified by searching pagesavailable at multiple sites on a computer network for reference to thefirst item and then identifying other items referenced in relation tothe first item.
 17. The method of claim 1, wherein identifying the setof one or more other items for comparison with the first item comprises:(1) selecting a candidate set of items for possible comparison with thefirst item; and (2) selecting one or more items from the candidate setfor comparison with the first item.
 18. The method of claim 17, whereinthe items in the candidate set of items are selected based on measuringlike attributes of the items and selecting those items having attributesthat collectively are more similar to the attributes of the first itemthan the attributes of other items.
 19. The method of claim 18, whereinthe attributes are weighted such that attributes having a greater weighthave greater influence for selection of the items than attributes havinglesser weight.
 20. The method of claim 18, wherein the one or more itemsfrom the candidate set that are selected for comparison with the firstitem are selected for having attributes that collectively are mostsimilar to the attributes of the first item.
 21. The method of claim 20,wherein the attributes are weighted such that attributes having agreater weight have greater influence for selection of the items thanattributes having lesser weight.
 22. The method of claim 1, whereinprioritizing the attributes of the first item and the other items in thecomparison set comprises measuring like attributes of the items againsteach other and arranging the attributes in an order according to adegree that the like attributes distinguish the items from each other.23. The method of claim 1, wherein the attributes are weighted such thatattributes having a greater weight have greater influence on orderingthe attributes than attributes having lesser weight.
 24. The method ofclaim 1, further comprising receiving feedback from a user regarding anaspect of the item comparison and providing a modified item comparisonin accordance with the user feedback.
 25. The method of claim 24,wherein the feedback includes a user action resulting in designation ofanother item to be the first item with which other items are compared,the method further comprising preparing and providing a modified itemcomparison based on the newly-designated first item.
 26. The method ofclaim 24, wherein the feedback includes a user indication of anattribute of interest, the method further comprising preparing andproviding a modified item comparison in which the comparison setincludes items that are most similar to the first item with respect tothe attribute of interest.
 27. The method of claim 24, wherein thefeedback includes a user indication of an attribute of interest, andwherein the item comparison provided to the user is modified toemphasize the attribute of interest.
 28. The method of claim 27, whereinthe attribute of interest is emphasized by rearranging the attributes inan order where the attribute of interest is shown higher in the order ofattributes.
 29. The method of claim 1, wherein prioritizing theattributes of the first item and the other items in the comparison setcomprises analyzing data reflecting prior user activity to determineuser interest in an attribute, and wherein preparing the item comparisonincludes emphasizing an attribute determined to be of greater interestthan another attribute in the item comparison.
 30. The method of claim29, wherein an attribute of greater user interest is emphasized in theitem comparison by arranging the attribute higher in an order of theattributes.
 31. The method of claim 29, wherein prioritizing theattributes further comprises measuring like attributes of the items andarranging the attributes in an order according to an emphasis based onlike attributes that distinguish the items from each other andattributes of greater user interest.
 32. The method of claim 1, whereinthe item comparison is prepared in real time after receiving a requestfor an item comparison.
 33. A computer-implemented method for anautomated comparison of items, comprising: (a) obtaining, from a userdevice, a designation of an anchor item; (b) selecting, by a server, acandidate set of items for possible comparison with the anchor item; (c)selecting, by the server, a comparison set of items from the candidateset of items for comparison with the anchor item; (d) programmaticallydetermining by the server, an order of attributes of the anchor item andthe items in the comparison set in which the attributes are prioritizedbased on an analysis of the attributes, such that including a differentitem in the comparison set can result in a different prioritized orderof the attributes, wherein the prioritized order is based on acalculation of dissimilarity between attributes of the anchor item andattributes of the items in the comparison set; and (e) producing, fordisplay on a display device, a comparison of the anchor item and theitems in the comparison set in which the item attributes are configuredfor presentation in the prioritized order.
 34. The method of claim 33,wherein the candidate set of items is selected from an electroniccatalog of items.
 35. The method of claim 33, wherein the candidate setof items is selected based on data reflecting prior user activity inregard to the items.
 36. The method of claim 35, wherein the datareflecting prior user activity is a browse history comprising a recordof one or more items viewed by one or more users who also viewed theanchor item.
 37. The method of claim 35, wherein the data reflectingprior user activity is a purchase history comprising a record of one ormore items purchased by one or more users who previously viewed theanchor item.
 38. The method of claim 35, wherein the data reflectingprior user activity is a purchase history comprising a record of one ormore items viewed by one or more users who previously purchased theanchor item.
 39. The method of claim 35, wherein the anchor item belongsto a category and the data reflecting prior user activity is limited touser activity in regard to items identified as belonging to the samecategory of items as the anchor item.
 40. The method of claim 35,wherein the candidate set of items is selected by analyzing attributesassociated with the anchor item and selecting one or more other itemsthat share like attributes with the anchor item.
 41. The method of claim33, wherein the candidate set of items is selected by searching pageshaving recognized text in said pages for reference to the anchor itemand then identifying other items referenced in relation to the anchoritem.
 42. The method of claim 41, wherein the pages are images ofprinted pages and the text in said page images has been recognized by acharacter recognition process applied to the page images.
 43. The methodof claim 33, wherein the candidate set of items is identified bysearching pages available at multiple sites on a computer network forreference to the anchor item, and then identifying other itemsreferenced in relation to the anchor item.
 44. The method of claim 33,wherein prioritizing the attributes of the anchor item and the items inthe comparison set comprises measuring like attributes of the itemsagainst each other and arranging the attributes in an order according toa degree that the like attributes distinguish the items from each other.45. The method of claim 33, wherein the attributes are weighted suchthat attributes having greater weight have greater influence on orderingthe attributes than attributes having lesser weight.
 46. The method ofclaim 33, further comprising receiving feedback from a user regardingthe item comparison, wherein the feedback includes a user actionresulting in designation of another item to be the anchor item, themethod further comprising producing a modified item comparison based onthe newly-designated anchor item.
 47. The method of claim 33, furthercomprising receiving feedback from a user regarding the item comparison,wherein the feedback includes a user indication of an attribute ofinterest, the method further comprising producing a modified itemcomparison in which the comparison set includes items that are mostsimilar to the anchor item with respect to the attribute of interest.48. The method of claim 33, wherein prioritizing the attributes of theanchor item and the other items in the comparison set comprisesanalyzing data reflecting prior user activity to determine user interestin an attribute and preparing the item comparison includes emphasizingan attribute determined to be of greater interest than another attributein the item comparison.
 49. The method of claim 48, wherein prioritizingthe attributes further comprises measuring like attributes of the itemsand arranging the attributes in an order according to an emphasis basedon like attributes that distinguish the items from each other andattributes of greater user interest.
 50. The method of claim 33, furthercomprising configuring the comparison to present the anchor item first,followed by the items in the comparison set.
 51. The method of claim 50,wherein the anchor item is presented first in a horizontal orientationwith respect to the items in the comparison set.
 52. The method of claim50, wherein the anchor item is presented first in a vertical orientationwith respect to the items in the comparison set.
 53. The method of claim50, wherein the comparison is further configured to present the anchoritem first in any subsequent modification of the comparison.
 54. Acomputing system, having a processor and a memory, configured to preparean item comparison, comprising: an item selector configured to identifytwo or more items for an item comparison; an attribute prioritizerconfigured to programmatically determine an order of attributes of theidentified items in which the attributes are prioritized based on ananalysis of the attributes, such that including a different item in theitem comparison can result in a different prioritized order of theattributes, wherein the prioritized order is based on a calculation ofdissimilarity between attributes of the identified items; and an itemcomparison manager in communication with the item selector and theattribute prioritizer configured to prepare the item comparison in whichthe attributes of the identified items are presented in the prioritizedorder.
 55. The computing system of claim 54, wherein the item comparisonmanager is configured to prepare the item comparison in real time afterreceiving a request for the item comparison.
 56. A computer-accessiblemedium whose contents direct a computing system to: (a) identify a firstitem for an item comparison; (b) identify a comparison set of one ormore other items for comparison with the first item; (c)programmatically determine an order of attributes of the first item andthe other items in the comparison set in which the attributes areprioritized based on an analysis of the attributes, such that includinga different item in the comparison set can result in a differentprioritized order of the attributes, wherein the prioritized order isbased on a calculation of dissimilarity between attributes of the firstitem and attributes of the other items in the comparison set; and (d)produce the item comparison in which the attributes are configured forpresentation in the prioritized order.
 57. The computer-accessiblemedium of claim 56, wherein the contents of the medium further directthe computing system to provide the item comparison to a user in realtime after receiving a request for the item comparison.
 58. A systemhaving a processor and a memory for providing an automated comparison ofitems to a first item, the system comprising: (a) an input componentconfigured to receive information representing a user action; (b) aprocessing component that, in response to information received by theinput component that represents a single user action, produces an itemcomparison by: (i) identifying a comparison set of one or more otheritems for comparison with the first item; and (ii) programmaticallydetermining an order of attributes of the first item and the other itemsin the comparison set in which the attributes are prioritized based onan analysis of the attributes, such that including a different item inthe comparison set can result in a different prioritized order of theattributes, wherein the prioritized order is based on a calculation ofdissimilarity between attributes of the first item and attributes of theother items in the comparison set; and (c) an output componentconfigured to provide the item comparison produced by the processingcomponent in which the attributes are configured for presentation in theprioritized order.
 59. The system of claim 58, wherein the inputcomponent is accessible via an application programming interface thatenables a third party in communication with a user to access the inputcomponent and provide information representing an action by the user.60. The system of claim 58, wherein the output component is accessiblevia an application programming interface that enables a third party incommunication with a user to access the output component and receive theitem comparison.
 61. The system of claim 58, wherein the outputcomponent is configured to provide the item comparison in which theitems in the comparison are identified side-by-side with theirattributes presented in the prioritized order.
 62. The system of claim58, wherein the information representing a single user action indicatesuser actuation of a mechanism that initiates an automated comparison ofitems without requiring the user to identify all of the items in theitem comparison.
 63. The system of claim 62, wherein the mechanism is abutton.
 64. The system of claim 62, wherein the mechanism is a link. 65.The system of claim 58, wherein the processing component is furtherconfigured to produce a modified item comparison in response toinformation representing a single user action indicating user interestin an attribute of the items in the item comparison.
 66. The system ofclaim 58, wherein the processing component is further configured toproduce a modified item comparison in response to informationrepresenting a single user action indicating user interest in an item inthe comparison set, wherein the item of interest becomes the first itemfor the item comparison and the processing component identifies a newcomparison set of one or more other items for comparison with the firstitem and determines a new order of attributes based on an analysis ofthe attributes of the items in the item comparison.
 67. Acomputer-implemented method for an item comparison, comprising: (a) froma client device, providing to a comparison engine an identification of afirst item; (b) in response to a single action of a user of the clientdevice, providing to the comparison engine a signal to prepare an itemcomparison based on the first item; and (c) receiving from thecomparison engine a comparison of a set of items that includes the firstitem and one or more other items, the comparison comprising the items inthe set and a prioritized order of attributes of the items in the set,the one or more other items in the set and the prioritized order ofcomparison attributes having been selected programmatically by thecomparison engine in response to the signal, wherein the prioritizedorder is based on a calculation of dissimilarity between attributes ofthe first item and attributes of the one or more other items in the set.68. The method of claim 67, wherein preparation of the item comparisonis initiated without requiring the user to acknowledge a criterion usedby the comparison engine to programmatically select the one or moreother items for the item comparison.
 69. The method of claim 67, furthercomprising, in response to a further single action of the userindicating an attribute of interest, providing to the comparison enginea signal to prepare a modified item comparison, wherein the modifieditem comparison includes one or more other items programmaticallyselected by the comparison engine based on at least the attribute ofinterest.
 70. A computer-implemented method for an automated comparisonof items, comprising: (a) identifying, by a server, a first item for anitem comparison; (b) using multiple criteria, programmaticallyselecting, by the server, a comparison set of one or more other itemsfor comparison with the first item; and (c) producing the itemcomparison for output to a user display without prior useracknowledgement of the criteria used to identify the one or more otheritems in the item comparison, wherein attributes of the items in theitem comparison are configured for presentation in a prioritized orderthat is based on a calculation of dissimilarity of the attributes. 71.The method of claim 70, wherein the first item is identified by a user.72. The method of claim 70, wherein the first item is automaticallyidentified from a type of item indicated by user activity.
 73. Themethod of claim 70, wherein at least one of the multiple criteria usedto select the one or more other items is based on data reflecting useractivity in regard to the items.
 74. The method of claim 73, wherein thedata reflecting user activity includes a browse history comprising arecord of one or more other items viewed by one or more users who alsoviewed the first item.
 75. The method of claim 73, wherein the datareflecting user activity includes a purchase history comprising a recordof one or more other items purchased by one or more users who previouslyviewed the first item.
 76. The method of claim 73, wherein the datareflecting user activity includes a purchase history comprising a recordof one or more other items viewed by one or more users who previouslypurchased the first item.
 77. The method of claim 73, wherein the firstitem belongs to a category and the data reflecting user activity islimited to user activity in regard to items identified as belonging tothe same category of items to which the first item belongs.
 78. Themethod of claim 70, wherein at least one of the multiple criteria usedto select the one or more other items is based on a search of pageshaving recognized text in said pages for reference to the first item andidentification of other items referenced in relation to the first item.79. The method of claim 70, wherein at least one of the multiplecriteria used to select the one or more other items is based on a salesranking of the items.
 80. The method of claim 70, wherein at least oneof the multiple criteria used to select the one or more other items isbased on attributes of items that collectively are most similar toattributes of the first item.
 81. The method of claim 80, wherein theattributes are weighted such that attributes having a greater weighthave greater influence for selection of the items than attributes havinglesser weight.
 82. The method of claim 70, further comprising measuringlike attributes of the items in the comparison set against each otherand arranging the attributes for presentation to a user in an orderaccording to a degree that the like attributes distinguish the itemsfrom each other.
 83. The method of claim 70, further comprisinganalyzing data that reflects prior user activity to determine userinterest in an attribute of an item, wherein producing the itemcomparison for output includes emphasizing an attribute determined to beof greater interest than another attribute in the item comparison. 84.The method of claim 83, wherein an attribute of greater user interest isemphasized in the item comparison by arranging the attribute higher inan order of the attributes.
 85. The method of claim 70, wherein theitems in the comparison set are selected in real time after receiving arequest for the item comparison.
 86. The method of claim 1, wherein thecalculation of dissimilarity is a numerical analysis of the attributesthat includes calculating a normalized score for each attribute of theone or more items in the comparison set and assessing a distance betweenthe normalized scores of the attributes.
 87. The method of claim 86,wherein the prioritized order is determined from the distances betweenthe normalized scores of the attributes of the one or more items in thecomparison set.
 88. The method of claim 33, wherein the calculation ofdissimilarity is a numerical analysis of the attributes that includescalculating a normalized score for each attribute of the items in thecomparison set and assessing a distance between the normalized scores ofthe attributes.
 89. The method of claim 88, wherein the prioritizedorder is determined from the distances between the normalized scores ofthe attributes of the items in the comparison set.